From: Carlos Garnacho Date: Fri, 25 Feb 2022 12:09:17 +0000 (+0100) Subject: keyboard: Query stage for target actor instead of event.get_source() X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~516^2^2~29 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=678e34d371c449a84aaa41fe700556d7eca61458;p=gnome-shell.git keyboard: Query stage for target actor instead of event.get_source() Events are going to stop containing the destinatary, so stop using this API. Querying the stage is equivalent and ensured to be up-to-date. Part-of: --- diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js index 6ee82a302..69afc08b1 100644 --- a/js/ui/keyboard.js +++ b/js/ui/keyboard.js @@ -259,8 +259,10 @@ var LanguageSelectionPopup = class extends PopupMenu.PopupMenu { } _onCapturedEvent(actor, event) { - if (event.get_source() == this.actor || - this.actor.contains(event.get_source())) + const targetActor = global.stage.get_event_actor(event); + + if (targetActor === this.actor || + this.actor.contains(targetActor)) return Clutter.EVENT_PROPAGATE; if (event.type() == Clutter.EventType.BUTTON_RELEASE || event.type() == Clutter.EventType.TOUCH_END) @@ -407,9 +409,10 @@ var Key = GObject.registerClass({ let type = event.type(); let press = type == Clutter.EventType.BUTTON_PRESS || type == Clutter.EventType.TOUCH_BEGIN; let release = type == Clutter.EventType.BUTTON_RELEASE || type == Clutter.EventType.TOUCH_END; + const targetActor = global.stage.get_event_actor(event); - if (event.get_source() == this._boxPointer.bin || - this._boxPointer.bin.contains(event.get_source())) + if (targetActor === this._boxPointer.bin || + this._boxPointer.bin.contains(targetActor)) return Clutter.EVENT_PROPAGATE; if (press) @@ -1296,7 +1299,7 @@ var KeyboardManager = class KeyBoardManager { if (!this._keyboard) return false; - let actor = event.get_source(); + const actor = global.stage.get_event_actor(event); return Main.layoutManager.keyboardBox.contains(actor) || !!actor._extendedKeys || !!actor.extendedKey; }